¿Qué es caso mediador?

Caso Mediador

El caso mediador (también conocido como "Mediator Pattern" en inglés) es un patrón de diseño de comportamiento que permite reducir las dependencias caóticas entre objetos. Proporciona un objeto mediador que encapsula cómo un conjunto de objetos interactúa. En lugar de que los objetos se comuniquen directamente entre sí, se comunican a través del mediador. Esto promueve un acoplamiento flojo, permitiendo variar la interacción entre objetos de forma independiente.

Concepto Clave:

  • Mediador: Define una interfaz para la comunicación con objetos [Colegas](https://es.wikiwhat.page/kavramlar/Colegas). Es el responsable de dirigir y controlar las interacciones entre los objetos.

Participantes:

  • Mediador (Interfaz/Clase Abstracta): Define la interfaz para que los [Colegas](https://es.wikiwhat.page/kavramlar/Colegas) se comuniquen con él.
  • Mediador Concreto: Implementa el comportamiento de coordinación actuando como intermediario entre los [Colegas](https://es.wikiwhat.page/kavramlar/Colegas). Conoce todos los [Colegas](https://es.wikiwhat.page/kavramlar/Colegas) y dirige sus interacciones.
  • Colega (Interfaz/Clase Abstracta): Define la interfaz común para todos los objetos participantes. Conoce al [Mediador](https://es.wikiwhat.page/kavramlar/Mediador) y se comunica con él en lugar de directamente con otros [Colegas](https://es.wikiwhat.page/kavramlar/Colegas).
  • Colega Concreto: Implementa el comportamiento específico de un objeto participante. Se comunica con el [Mediador](https://es.wikiwhat.page/kavramlar/Mediador) para coordinar con otros [Colegas](https://es.wikiwhat.page/kavramlar/Colegas).

Ventajas:

  • Reduce el acoplamiento: Los objetos no necesitan conocer explícitamente a otros objetos.
  • Centraliza el control: La lógica de interacción se concentra en el mediador, lo que facilita su gestión y modificación.
  • Promueve la reutilización: Se pueden reusar tanto el mediador como los colegas en diferentes contextos.
  • Simplifica las relaciones objeto-objeto: Reduce el desorden de dependencias directas.

Desventajas:

  • El mediador puede convertirse en un cuello de botella: Si el mediador se vuelve demasiado complejo, puede ser difícil de mantener.
  • Puede aumentar la complejidad general del sistema: Introducir un mediador añade otra capa de abstracción.

Cuándo usarlo:

  • Cuando un conjunto de objetos se comunican de manera compleja y desestructurada.
  • Cuando se quiere desacoplar objetos para que puedan ser reutilizados más fácilmente.
  • Cuando el comportamiento distribuido entre varios objetos debe ser fácil de modificar sin afectar a otros.

Ejemplo Común:

Una interfaz de usuario (UI) con varios controles (botones, campos de texto, listas desplegables). El mediador puede ser el manejador de la ventana o el formulario, coordinando las acciones entre los controles. Por ejemplo, al seleccionar un elemento en una lista desplegable, el mediador puede actualizar el texto de un campo de texto relacionado.